package com.atyuntuku.yuntuku.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.session.web.http.CookieSerializer;
import org.springframework.session.web.http.DefaultCookieSerializer;

@Configuration
public class CookieConfig {
    
    @Bean
    public CookieSerializer cookieSerializer() {
        DefaultCookieSerializer serializer = new DefaultCookieSerializer();
        // 设置Cookie的名称为JSESSIONID
        serializer.setCookieName("JSESSIONID");
        // 关键设置：Cookie最大存活时间，单位秒（14天 = 1209600秒）
        // 这个设置决定了Cookie是否是持久化的
        serializer.setCookieMaxAge(1209600);
        // Cookie路径设置为应用的context-path
        serializer.setCookiePath("/api");
        // 允许JavaScript访问cookie（可选）
        serializer.setUseHttpOnlyCookie(false);
        // 设置SameSite为None，确保cookie跨域和持久化
        serializer.setSameSite(null);
        // 开发环境下不使用HTTPS
        serializer.setUseSecureCookie(false);
        // 设置域名模式为当前域名
        serializer.setDomainName("localhost");

        return serializer;
    }
}